package com.dyzx.hbb.modules.wms.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "入库单信息")
public class WmsStockInOrdersVO {


    /**
     * 状态 字典信息：sys_global_status   'Draft', 'Pending', 'Completed', 'Cancelled'
     */
    @Schema(description = "状态 字典信息：sys_global_status   'Draft', 'Pending', 'Completed', 'Cancelled'")
    @JsonProperty("status")
    private Integer status;


    /**
     * 入库单号 (如：IN20240530001)
     */
/*    @Schema(description = "入库单号 (如：IN20240530001)")
    private String no;*/

    /**
     * 数量
     */
    @Schema(description = "数量")
    @JsonProperty("quantity")
    @NotNull(message = "数量不能为空")
    private Integer quantity;

    /**
     * 货位
     */
    @Schema(description = "货位")
    @JsonProperty("location_id")
  //  @NotNull(message = "货位不能为空")
    private Long locationId;

    /**
     * 货位
     */
    @Schema(description = "货位")
    @JsonProperty("location_area_id")
  //  @NotNull(message = "货位不能为空")
    private Long locationAreaId;

    /**
     * 仓库表（管理物理仓库信息）
     */
    @Schema(description = "仓库表（管理物理仓库信息）")
    @JsonProperty("house_id")
    @NotNull(message = "仓库不能为空")
    private Long houseId;

    /**
     * 产品表（管理产品信息）
     */
    @Schema(description = "产品表（管理产品信息）")
    @JsonProperty("details")
  //  @NotNull(message = "产品不能为空")
    @Valid
    private List<WmsStockInDetailsVO> details;
}
